﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using A2DFramework.AOPService;
using System.Runtime.Remoting.Messaging;
using A2DFramework.CacheService;
using A2DFramework.CacheService.ConcreteAOPProcessor;
using A2DFramework.SQLDispatcherService.ConcreteAOPProcessor;

namespace A2DFramework.AOPService.Core
{
    public class CoreAOPRealProxy : BaseAOPRealProxy
    {
        public CoreAOPRealProxy(Type objType, MarshalByRefObject obj)
            :base(objType, obj)
        { 
        }

        protected override List<IAOPProcessor> GetAOPProcessors()
        {
            List<IAOPProcessor> processors = new List<IAOPProcessor>();
            processors.Add(new CachableAOPProcessor());
            processors.Add(new SQLDispatcherAOPProcessor());
            return processors;
        }
    }
}